home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr37 / rreq11b.zip / REGREQ.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-03-24  |  6KB  |  381 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Integer  INTEGER001
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     String   STRING001
  28.     String   STRING002
  29.     String   STRING003
  30.     String   STRING004
  31.     String   STRING005
  32.     String   STRING006
  33.     String   STRING007
  34.     String   STRING008
  35.     String   STRING009
  36.     String   STRING010
  37.     String   STRING011
  38.     String   STRING012
  39.     String   TSTRING013(1,1)
  40.     String   TSTRING014(1)
  41.     String   STRING015
  42.     String   STRING016
  43.     String   STRING017
  44.     String   STRING018
  45.     String   STRING019
  46.     String   STRING020
  47.     String   STRING021
  48.     String   STRING022
  49.     String   STRING023
  50.     String   STRING024
  51.     String   STRING025
  52.     String   STRING026
  53.     String   STRING027
  54.     String   STRING028
  55.     String   STRING029
  56.     String   STRING030
  57.     String   STRING031
  58.     String   STRING032
  59.     Declare  Function FUNCTION002(Integer INTEGER002) String
  60.  
  61. ;------------------------------------------------------------------------------
  62.  
  63.     Goto LABEL004
  64.     End
  65.     INTEGER001 = Abs(0 - 0)
  66.  
  67.     EndFunc
  68.  
  69.  
  70. ;------------------------------------------------------------------------------
  71.  
  72.     Function FUNCTION002(Integer INTEGER002) String
  73.  
  74.     Boolean  BOOLEAN001
  75.     String   STRING002
  76.     String   STRING003
  77.  
  78.     BOOLEAN001 = 0
  79.     STRING002 = ""
  80.     :LABEL001
  81.     If (BOOLEAN001) Goto LABEL003
  82.     FGet INTEGER002, STRING002
  83.     If (Ferr(INTEGER002)) Then
  84.         BOOLEAN001 = 1
  85.     Else
  86.         If ((Trim(STRING002, " ") == "") || (Left(STRING002, 1) == ";")) Goto LABEL002
  87.         Goto LABEL003
  88.         :LABEL002
  89.         Goto LABEL001
  90.     Endif
  91.     :LABEL003
  92.     If (BOOLEAN001 == 1) STRING002 = ""
  93.     FUNCTION002 = STRING002
  94.  
  95.     EndFunc
  96.  
  97.     STRING004 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\PCBOARD.SYS"
  98.     STRING005 = ReadLine(PCBDat(), 27) + "PCBTEXT"
  99.     If (ReadLine(PCBDat(), 74) == 0) Then
  100.         STRING003 = STRING005
  101.     Else
  102.         INTEGER003 = FNext()
  103.         FOpen INTEGER003, STRING004, 0, 0
  104.         FSeek INTEGER003, 80, 0
  105.         FRead INTEGER003, STRING006, 4
  106.         FClose INTEGER003
  107.         STRING005 = Trim(STRING005 + STRING006, " ")
  108.         If (Right(STRING005, 1) == ".") STRING005 = Trim(STRING005, ".")
  109.         STRING003 = STRING005
  110.     Endif
  111.  
  112.     EndFunc
  113.  
  114.     STRING008 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\PCBOARD.SYS"
  115.     If (ReadLine(PCBDat(), 74) == 0) Then
  116.         STRING007 = ""
  117.     Else
  118.         INTEGER004 = FNext()
  119.         FOpen INTEGER004, STRING008, 0, 0
  120.         FSeek INTEGER004, 80, 0
  121.         FRead INTEGER004, STRING009, 4
  122.         FClose INTEGER004
  123.         STRING009 = Trim(STRING009, " ")
  124.         If (Left(STRING009, 1) == ".") STRING009 = ""
  125.         STRING007 = STRING009
  126.     Endif
  127.  
  128.     EndFunc
  129.  
  130.     :LABEL004
  131.     STRING010 = PPEPath() + PPEName() + ".LST"
  132.     STRING011 = PPEPath() + PPEName() + ".CFG"
  133.     STRING020 = PPEPath() + "RRTMPMSG.$$$"
  134.     STRING022 = "SYSTEM DAEMON"
  135.     STRING025 = PPEName() + ": notice"
  136.     STRING016 = "D"
  137.     STRING017 = "Z"
  138.     BOOLEAN002 = 0
  139.     INTEGER005 = FNext()
  140.     FOpen INTEGER005, STRING011, 0, 0
  141.     If (Ferr(INTEGER005)) Then
  142.         Log 0, "Error opening " + STRING011
  143.         PrintLn "An Error Occured. Please notify sysop...."
  144.     Else
  145.         STRING012 = FUNCTION002(INTEGER005)
  146.         STRING019 = FUNCTION002(INTEGER005)
  147.         STRING023 = FUNCTION002(INTEGER005)
  148.         If (STRING023 == "") STRING023 = "SYSOP"
  149.         STRING024 = FUNCTION002(INTEGER005)
  150.         If (STRING024 == "") STRING024 = "0"
  151.         STRING021 = Upper(FUNCTION002(INTEGER005))
  152.         If ((STRING021 <> "N") && (STRING021 <> "R")) STRING021 = "R"
  153.         FClose INTEGER005
  154.         INTEGER005 = FNext()
  155.         FOpen INTEGER005, STRING011, 0, 0
  156.         If (Ferr(INTEGER005)) Then
  157.             Log 0, "Error opening " + STRING010
  158.             PrintLn "An Error Occured. Please notify sysop...."
  159.         Else
  160.             STRING018 = S2I(FUNCTION002(INTEGER005), "10")
  161.             Redim TSTRING013, STRING018, 1
  162.             Redim TSTRING014, STRING018
  163.             For INTEGER006 = 1 To STRING018
  164.                 TSTRING013(INTEGER006, 1) = FUNCTION002(INTEGER005)
  165.                 TSTRING013(INTEGER006, 0) = FUNCTION002(INTEGER005)
  166.                 TSTRING014(INTEGER006) = " "
  167.             Next
  168.             FClose INTEGER005
  169.             Cls
  170.             DispFile STRING012, 1 + 4
  171.             Newline
  172.             Wait
  173.             INTEGER007 = STRING018 + 1
  174.             :LABEL005
  175.             Cls
  176.             PrintLn "@X0AThe following files are available for Downloading: @X07"
  177.             Newline
  178.             For INTEGER006 = 1 To STRING018
  179.                 PrintLn "@X0E" + Right(String(INTEGER006), 3) + ")@X0C" + TSTRING014(INTEGER006) + "@X0F" + TSTRING013(INTEGER006, 0) + "@X07"
  180.             Next
  181.             PrintLn "@X0E" + Right(String(STRING018 + 1), 3) + ") @X0BDownload Selected Files@X07"
  182.             PrintLn "@X0E  0) @X0BDo Not download anything now@X07"
  183.             Newline
  184.             INTEGER007 = 0
  185.             STRING015 = ""
  186.             InputStr "Enter Number to toggle for Downloading or action to take", STRING015, 14, 3, "1234567890", 256 + 2
  187.             If (STRING015 == "") Goto LABEL005
  188.             INTEGER007 = S2I(STRING015, "10")
  189.             If (INTEGER007 > STRING018 + 1) Goto LABEL005
  190.             If (INTEGER007 == 0) Goto LABEL007
  191.             If (INTEGER007 == STRING018 + 1) Goto LABEL006
  192.             Select Case (TSTRING014(INTEGER007))
  193.                 Case " "
  194.                     TSTRING014(INTEGER007) = "*"
  195.                 Case "*"
  196.                     TSTRING014(INTEGER007) = " "
  197.                 Case Else
  198.                     TSTRING014(INTEGER007) = "*"
  199.             End Select
  200.             Goto LABEL005
  201.             Newline
  202.             :LABEL006
  203.             PrintLn "@X09Flagging Chosen Files...@X07"
  204.             For INTEGER006 = 1 To STRING018
  205.                 If (TSTRING014(INTEGER006) == "*") Then
  206.                     BOOLEAN002 = 1
  207.                     Flag TSTRING013(INTEGER006, 1)
  208.                 Endif
  209.             Next
  210.             If (BOOLEAN002) Then
  211.                 Cls
  212.                 PrintLn "@X0ABefore downloading, please provide the following information@X07"
  213.                 InputStr "Please provide your Real Name", STRING026, 10, 45, Mask_Alpha(), 256 + 2
  214.                 Newline
  215.                 PrintLn "@X0BChoose a Transfer Protocol"
  216.                 InputStr "(X)-modem, (Y)-Modem, or (Z)-modem", STRING017, 11, 1, "xzyXYZ", 256 + 2
  217.                 STRING016 = STRING016 + ";" + STRING017
  218.                 KbdStuff "Y"
  219.                 Command 0, STRING016
  220.                 KbdFlush
  221.                 INTEGER005 = FNext()
  222.                 FCreate INTEGER005, STRING020, 1, 3
  223.                 FPutLn INTEGER005, STRING026
  224.                 FPutLn INTEGER005, "has downloaded the Following files:"
  225.                 For INTEGER006 = 1 To STRING018
  226.                     If (TSTRING014(INTEGER006) == "*") Then
  227.                         FPut INTEGER005, TSTRING013(INTEGER006, 0) + " - "
  228.                         FPutLn INTEGER005, TSTRING013(INTEGER006, 1)
  229.                     Endif
  230.                 Next
  231.                 FClose INTEGER005
  232.             Else
  233.                 :LABEL007
  234.                 STRING015 = "Y"
  235.                 PrintLn "@X0AYou have decided not to download the files"
  236.                 InputYN "Would you like to an application Mailed to you", STRING015, 10
  237.                 STRING015 = Upper(STRING015)
  238.                 Newline
  239.                 If (STRING015 == NoChar()) Goto LABEL008
  240.                 Cls
  241.                 PrintLn "@X0APlease Provide the Following Information@X07"
  242.                 Newlines 2
  243.                 STRING015 = ""
  244.                 PromptStr 259, STRING015, 25, Mask_Alpha(), 2 + 4 + 256
  245.                 STRING026 = STRING015
  246.                 STRING015 = ""
  247.                 PromptStr 260, STRING015, 25, Mask_Alpha(), 2 + 4 + 256
  248.                 STRING026 = STRING026 + STRING015
  249.                 DispText 698, 64
  250.                 PromptStr 699, STRING027, 50, Mask_Alpha(), 2 + 4 + 256
  251.                 PromptStr 700, STRING028, 50, Mask_Alpha(), 2 + 4 + 256
  252.                 PromptStr 701, STRING029, 25, Mask_Alpha(), 2 + 4 + 256
  253.                 PromptStr 702, STRING030, 10, Mask_Alpha(), 2 + 4 + 256
  254.                 PromptStr 703, STRING031, 10, Mask_Alpha(), 2 + 4 + 256
  255.                 PromptStr 704, STRING032, 15, Mask_Alpha(), 2 + 4 + 256
  256.                 INTEGER005 = FNext()
  257.                 FCreate INTEGER005, STRING020, 1, 3
  258.                 FPutLn INTEGER005, STRING026
  259.                 FPutLn INTEGER005, "has requested you mail information to him/her."
  260.                 FPutLn INTEGER005, "The following address info was provided:"
  261.                 FPutLn INTEGER005, ""
  262.                 FPutLn INTEGER005, STRING026
  263.                 FPutLn INTEGER005, STRING027
  264.                 If (Trim(STRING028, " ") <> "") FPutLn INTEGER005, STRING028
  265.                 FPutLn INTEGER005, Trim(STRING029, " ") + ", " + STRING030 + " " + STRING031
  266.                 FPutLn INTEGER005, STRING032
  267.                 FClose INTEGER005
  268.             Endif
  269.             Newlines 2
  270.             PrintLn "@X0DSending Message to Sysop@X07"
  271.             Message S2I(STRING024, "10"), STRING023, STRING022, STRING025, STRING021, 0, 0, 0, STRING020
  272.             Cls
  273.             PrintLn "@X0AThank you...@X07"
  274.         Endif
  275.     Endif
  276.     :LABEL008
  277.     If (STRING019 == "Y") Then
  278.         PrintLn "@X0CLogging off... @X07"
  279.         Bye
  280.     Endif
  281.     End
  282.  
  283. ;------------------------------------------------------------------------------
  284. ;
  285. ; Usage report (before postprocessing)
  286. ;
  287. ; ■ Statements used :
  288. ;
  289. ;    2       End
  290. ;    5       Cls
  291. ;    1       Wait
  292. ;    38      Goto 
  293. ;    66      Let 
  294. ;    14      PrintLn 
  295. ;    29      If 
  296. ;    1       DispFile 
  297. ;    2       FCreate 
  298. ;    4       FOpen 
  299. ;    6       FClose 
  300. ;    1       FGet 
  301. ;    1       FPut 
  302. ;    12      FPutLn 
  303. ;    2       Log 
  304. ;    3       InputStr 
  305. ;    1       InputYN 
  306. ;    8       PromptStr 
  307. ;    6       Newline
  308. ;    2       Newlines 
  309. ;    1       DispText 
  310. ;    1       KbdStuff 
  311. ;    1       Bye
  312. ;    1       Message 
  313. ;    2       FSeek 
  314. ;    2       FRead 
  315. ;    2       Redim 
  316. ;    1       KbdFlush
  317. ;    1       Flag 
  318. ;    4       EndFunc
  319. ;    1       Command 
  320. ;
  321. ;
  322. ; ■ Functions used :
  323. ;
  324. ;    58      +
  325. ;    1       -
  326. ;    18      ==
  327. ;    3       <>
  328. ;    4       <
  329. ;    4       <=
  330. ;    1       >
  331. ;    8       >=
  332. ;    16      !
  333. ;    9       &&
  334. ;    5       ||
  335. ;    2       Upper()
  336. ;    2       Left()
  337. ;    3       Right()
  338. ;    3       Ferr()
  339. ;    6       Trim()
  340. ;    1       NoChar()
  341. ;    2       String()
  342. ;    9       Mask_Alpha()
  343. ;    3       PCBDat()
  344. ;    3       PPEPath()
  345. ;    3       ReadLine()
  346. ;    4       GetEnv()
  347. ;    3       S2I()
  348. ;    1       Abs()
  349. ;    3       PPEName()
  350. ;    6       FNext()
  351. ;
  352. ;------------------------------------------------------------------------------
  353. ;
  354. ; Analysis flags : fd
  355. ;
  356. ; f - Flag files for download ■ 3
  357. ;     This may be normal if a PPE needs to send some files, but since
  358. ;     this statement allows flagging of any file on the hard disk, you
  359. ;     have to be carefull. Check!
  360. ;     ■ Search for : FLAG
  361. ;
  362. ; d - Access PCBOARD.DAT ■ 2
  363. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  364. ;     for many PPE so they can find various informations on the system
  365. ;     (system paths, max number of lines in messages, ...) but it may also
  366. ;     be a way to gather vital informations.
  367. ;     ■ Search for : PCBDAT()
  368. ;
  369. ;------------------------------------------------------------------------------
  370. ;
  371. ; Postprocessing report
  372. ;
  373. ;    4       For/Next
  374. ;    0       While/EndWhile
  375. ;    9       If/Then or If/Then/Else
  376. ;    1       Select Case
  377. ;
  378. ;------------------------------------------------------------------------------
  379. ;                 AEGiS Corp - Break the routines, code against the machines!
  380. ;------------------------------------------------------------------------------
  381.